{
  "bundles": [
    {
      "@type": "NXBundle",
      "artifactId": "nuxeo-easyshare-core",
      "artifactVersion": "10.10-HF29",
      "bundleGroup": {
        "@type": "NXBundleGroup",
        "bundleIds": [
          "nuxeo-easyshare-core",
          "org.nuxeo.web.jsf.easyshare"
        ],
        "hierarchyPath": "/grp:org.nuxeo.ecm",
        "id": "grp:org.nuxeo.ecm",
        "name": "org.nuxeo.ecm",
        "parentIds": [],
        "readmes": [
          {
            "blobProviderId": "default",
            "content": "\n#EasyShare\n\n## About EasyShare\nThe EasyShare package is an addon for the Nuxeo platform to enable sharing files from the repository with external users not requiring a login. You can specify a set of files to be accessed by a specific unique URL which allows anonymous download of either files within the share or proxies from anywhere else in your repository through a special folder listing page. You can also set an expiration date for sharing availability and track all downloads and get notifications.\n\nThis project is an on-going project, supported by Nuxeo\n\n## Deploying\nEasyShare is available as a package add-on [from the Nuxeo Marketplace] https://connect.nuxeo.com/nuxeo/site/marketplace/package/easyshare\n\n## Resources\n### Documentation\nThe documentation for EasyShare is available in our Documentation Center: http://doc.nuxeo.com/x/rooZAQ\n\n### Following Project QA Status\n\n[![Build Status](https://qa.nuxeo.org/jenkins/buildStatus/icon?job=addons_nuxeo-easyshare-master)](https://qa.nuxeo.org/jenkins/job/addons_nuxeo-easyshare-master/)\n\n### Reporting Issues\nYou can follow the developments in the Nuxeo Platform project of our JIRA bug tracker, which includes an EasyShare component:\nhttps://jira.nuxeo.com/browse/NXP/component/14003\n\nYou can report issues on: http://answers.nuxeo.com\n\n## About Nuxeo\nNuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Netflix, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.\n",
            "digest": "8348c059f1deecffbe4b8bc0ce482018",
            "encoding": "UTF-8",
            "length": 1986,
            "mimeType": "text/plain",
            "name": "README.md"
          }
        ],
        "version": "10.10"
      },
      "bundleId": "nuxeo-easyshare-core",
      "components": [
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService--openUrl",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/org.nuxeo.easyshare.auth.contrib/Contributions/org.nuxeo.easyshare.auth.contrib--openUrl",
              "id": "org.nuxeo.easyshare.auth.contrib--openUrl",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "name": "org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"openUrl\" target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n  <openUrl name=\"EasyShare\">\n   <grantPattern>/nuxeo/site/easyshare/.*</grantPattern>\n  </openUrl>\n  <openUrl name=\"EasyShareSkins\">\n   <grantPattern>/nuxeo/site/skin/easyshare/.*</grantPattern>\n  </openUrl>\n  <openUrl name=\"EasyShareCss\">\n   <grantPattern>/nuxeo/site/skin/easyshare/css/.*</grantPattern>\n  </openUrl>\n  <openUrl name=\"EasyShareImages\">\n   <grantPattern>/nuxeo/site/skin/easyshare/image/.*</grantPattern>\n  </openUrl>\n </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.query.api.PageProviderService--providers",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/org.nuxeo.easyshare.auth.contrib/Contributions/org.nuxeo.easyshare.auth.contrib--providers",
              "id": "org.nuxeo.easyshare.auth.contrib--providers",
              "registrationOrder": 4,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.query.api.PageProviderService",
                "name": "org.nuxeo.ecm.platform.query.api.PageProviderService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"providers\" target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\">\n    <coreQueryPageProvider name=\"EASYSHARE_FOLDER_CONTENT_PP\">\n      <pattern>\n      <!-- Note: we want proxies.\n       Parameter is the EasyFolder id -->\n        SELECT * FROM Document WHERE ecm:parentId = ? AND ecm:isVersion = 0 AND\n        ecm:mixinType != 'HiddenInNavigation'\n        AND ecm:isTrashed = 0\n      </pattern>\n      <sort ascending=\"true\" column=\"dc:title\"/>\n      <pageSize>0</pageSize>\n      <maxPageSize>0</maxPageSize>\n    </coreQueryPageProvider>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.htmlsanitizer.HtmlSanitizerService--sanitizer",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/org.nuxeo.easyshare.auth.contrib/Contributions/org.nuxeo.easyshare.auth.contrib--sanitizer",
              "id": "org.nuxeo.easyshare.auth.contrib--sanitizer",
              "registrationOrder": 0,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.htmlsanitizer.HtmlSanitizerService",
                "name": "org.nuxeo.ecm.platform.htmlsanitizer.HtmlSanitizerService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"sanitizer\" target=\"org.nuxeo.ecm.platform.htmlsanitizer.HtmlSanitizerService\">\n    <sanitizer name=\"easyshare\">\n      <field>easysharefolder:shareComment</field>\n    </sanitizer>\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/org.nuxeo.easyshare.auth.contrib",
          "name": "org.nuxeo.easyshare.auth.contrib",
          "requirements": [],
          "resolutionOrder": 192,
          "services": [],
          "startOrder": 74,
          "version": "10.10-HF29",
          "xmlFileContent": "<?xml version=\"1.0\"?>\n<component name=\"org.nuxeo.easyshare.auth.contrib\">\n\n <extension point=\"openUrl\"\n  target=\"org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService\">\n  <openUrl name=\"EasyShare\">\n   <grantPattern>${org.nuxeo.ecm.contextPath}/site/easyshare/.*</grantPattern>\n  </openUrl>\n  <openUrl name=\"EasyShareSkins\">\n   <grantPattern>${org.nuxeo.ecm.contextPath}/site/skin/easyshare/.*</grantPattern>\n  </openUrl>\n  <openUrl name=\"EasyShareCss\">\n   <grantPattern>${org.nuxeo.ecm.contextPath}/site/skin/easyshare/css/.*</grantPattern>\n  </openUrl>\n  <openUrl name=\"EasyShareImages\">\n   <grantPattern>${org.nuxeo.ecm.contextPath}/site/skin/easyshare/image/.*</grantPattern>\n  </openUrl>\n </extension>\n\n  <extension target=\"org.nuxeo.ecm.platform.query.api.PageProviderService\" point=\"providers\">\n    <coreQueryPageProvider name=\"EASYSHARE_FOLDER_CONTENT_PP\">\n      <pattern>\n      <!-- Note: we want proxies.\n       Parameter is the EasyFolder id -->\n        SELECT * FROM Document WHERE ecm:parentId = ? AND ecm:isVersion = 0 AND\n        ecm:mixinType != 'HiddenInNavigation'\n        AND ecm:isTrashed = 0\n      </pattern>\n      <sort column=\"dc:title\" ascending=\"true\" />\n      <pageSize>0</pageSize>\n      <maxPageSize>0</maxPageSize>\n    </coreQueryPageProvider>\n\n  </extension>\n\n  <extension point=\"sanitizer\" target=\"org.nuxeo.ecm.platform.htmlsanitizer.HtmlSanitizerService\">\n    <sanitizer name=\"easyshare\">\n      <field>easysharefolder:shareComment</field>\n    </sanitizer>\n  </extension>\n\n</component>\n",
          "xmlFileName": "/OSGI-INF/easyshare-contrib.xml",
          "xmlPureComponent": true
        },
        {
          "@type": "NXComponent",
          "documentationHtml": "",
          "extensionPoints": [],
          "extensions": [
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--schema",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--schema",
              "id": "studio.extensions.easyshare--schema",
              "registrationOrder": 51,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"schema\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <schema name=\"easysharefolder\" prefix=\"eshare\" src=\"data/schemas/easysharefolder.xsd\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.schema.TypeService--doctype",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--doctype",
              "id": "studio.extensions.easyshare--doctype",
              "registrationOrder": 54,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.schema.TypeService",
                "name": "org.nuxeo.ecm.core.schema.TypeService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"doctype\" target=\"org.nuxeo.ecm.core.schema.TypeService\">\n    <doctype extends=\"Folder\" name=\"EasyShareFolder\">\n      <facet name=\"Collection\"/>\n      <facet name=\"NotCollectionMember\"/>\n      <schema name=\"dublincore\"/>\n      <schema name=\"common\"/>\n      <schema name=\"easysharefolder\"/>\n      <schema name=\"uid\"/>\n    </doctype>\n    <doctype append=\"true\" name=\"Folder\">\n      <subtypes>\n        <type>EasyShareFolder</type>\n      </subtypes>\n    </doctype>\n    <doctype append=\"true\" name=\"Workspace\">\n      <subtypes>\n        <type>EasyShareFolder</type>\n      </subtypes>\n    </doctype>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.lifecycle.LifeCycleService--types",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--types",
              "id": "studio.extensions.easyshare--types",
              "registrationOrder": 21,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "name": "org.nuxeo.ecm.core.lifecycle.LifeCycleService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"types\" target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\">\n    <types>\n      <type name=\"EasyShareFolder\">default</type>\n    </types>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.types.TypeService--types",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--types1",
              "id": "studio.extensions.easyshare--types1",
              "registrationOrder": 16,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.types.TypeService",
                "name": "org.nuxeo.ecm.platform.types.TypeService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"types\" target=\"org.nuxeo.ecm.platform.types.TypeService\">\n    <type id=\"EasyShareFolder\">\n      <label>EasyShareFolder</label>\n      <category>Collaborative</category>\n      <icon>/img/easyshare.png</icon>\n      <bigIcon>/img/easyshare_100.png</bigIcon>\n      <description>EasyShareFolder.description</description>\n      <default-view>view_documents</default-view>\n    </type>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--actions",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--actions",
              "id": "studio.extensions.easyshare--actions",
              "registrationOrder": 74,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"actions\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n    <action id=\"TAB_CONTENT\">\n      <filter-id>denyForEasyShareFolder</filter-id>\n    </action>\n    <action id=\"TAB_VIEW\">\n      <filter-id>denyForEasyShareFolder</filter-id>\n    </action>\n    <action id=\"TAB_RELATIONS\">\n      <filter-id>denyForEasyShareFolder</filter-id>\n    </action>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService--notifications",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--notifications",
              "id": "studio.extensions.easyshare--notifications",
              "registrationOrder": 4,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "name": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"notifications\" target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\">\n    <notification autoSubscribed=\"true\" availableIn=\"Workspace\" channel=\"email\" enabled=\"true\" name=\"easyShareDownload\" subject=\"EasyShare download notification\" subjectTemplate=\"easyShareDownloadSubject\" template=\"easyShareDownload\">\n      <event name=\"easyShareDownload\"/>\n    </notification>\n    <notification autoSubscribed=\"true\" availableIn=\"Workspace\" channel=\"email\" enabled=\"true\" name=\"easyShareExpired\" subject=\"EasyShare expired notification\" subjectTemplate=\"easyShareExpiredSubject\" template=\"easyShareExpired\">\n      <event name=\"easyShareExpired\"/>\n    </notification>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService--templates",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--templates",
              "id": "studio.extensions.easyshare--templates",
              "registrationOrder": 5,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "name": "org.nuxeo.ecm.platform.ec.notification.service.NotificationService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"templates\" target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\">\n    <template name=\"easyShareDownload\" src=\"templates/easyShareDownload.ftl\"/>\n    <template name=\"easyShareExpired\" src=\"templates/easyShareExpired.ftl\"/>\n    <template name=\"easyShareDownloadSubject\" src=\"templates/easyShareDownloadSubject.ftl\"/>\n    <template name=\"easyShareExpiredSubject\" src=\"templates/easyShareExpiredSubject.ftl\"/>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.operation.OperationServiceComponent--chains",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--chains",
              "id": "studio.extensions.easyshare--chains",
              "registrationOrder": 11,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "name": "org.nuxeo.ecm.core.operation.OperationServiceComponent",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"chains\" target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\">\n    <chain id=\"addToAShareDocument\">\n      <operation id=\"Seam.GetCurrentDocument\"/>\n      <operation id=\"Context.SetInputAsVar\">\n        <param name=\"name\" type=\"string\">shareDocument</param>\n      </operation>\n      <operation id=\"Context.SetVar\">\n        <param name=\"name\" type=\"string\">shareDocumentPath</param>\n        <param name=\"value\" type=\"object\">expr:Document.path</param>\n      </operation>\n      <operation id=\"Seam.FetchFromWorklist\"/>\n      <operation id=\"CreateProxyLive\">\n        <param name=\"Destination Path\" type=\"string\">expr:shareDocumentPath</param>\n      </operation>\n      <operation id=\"Context.RestoreDocumentInput\">\n        <param name=\"name\" type=\"string\">shareDocument</param>\n      </operation>\n      <operation id=\"Audit.Log\">\n        <param name=\"event\" type=\"string\">Documents added to the share</param>\n        <param name=\"category\" type=\"string\">EasyShareFolderCategory</param>\n        <param name=\"comment\" type=\"string\">expr:Some documents were added to the share folder @{Document[\"dc:title\"]}</param>\n      </operation>\n      <operation id=\"Seam.Refresh\"/>\n      <operation id=\"Seam.AddInfoMessage\">\n        <param name=\"message\" type=\"string\">Added</param>\n      </operation>\n    </chain>\n    <chain id=\"navToParent\">\n      <operation id=\"Context.FetchDocument\"/>\n      <operation id=\"Document.GetParent\"/>\n      <operation id=\"Seam.NavigateTo\"/>\n    </chain>\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.platform.actions.ActionService--filters",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--filters",
              "id": "studio.extensions.easyshare--filters",
              "registrationOrder": 39,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.platform.actions.ActionService",
                "name": "org.nuxeo.ecm.platform.actions.ActionService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"filters\" target=\"org.nuxeo.ecm.platform.actions.ActionService\">\n    <filter append=\"true\" id=\"create\">\n      <rule grant=\"true\">\n        <permission>AddChildren</permission>\n        <type>EasyShareFolder</type>\n        <condition>!document.isImmutable()</condition>\n        <condition>#{typeManager.getAllowedSubTypes(document.getType(), document).size() &gt; 0}</condition>\n      </rule>\n    </filter>\n    <filter id=\"denyForEasyShareFolder\">\n      <rule grant=\"false\">\n        <type>EasyShareFolder</type>\n      </rule>\n    </filter>\n\n  </extension>"
            },
            {
              "@type": "NXContribution",
              "documentationHtml": "",
              "extensionPoint": "org.nuxeo.ecm.core.security.SecurityService--permissionsVisibility",
              "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare/Contributions/studio.extensions.easyshare--permissionsVisibility",
              "id": "studio.extensions.easyshare--permissionsVisibility",
              "registrationOrder": 4,
              "targetComponentName": {
                "rawName": "service:org.nuxeo.ecm.core.security.SecurityService",
                "name": "org.nuxeo.ecm.core.security.SecurityService",
                "type": "service"
              },
              "version": "10.10-HF29",
              "xml": "<extension point=\"permissionsVisibility\" target=\"org.nuxeo.ecm.core.security.SecurityService\">\n\n    <visibility type=\"EasyShareFolder\">\n      <item order=\"20\" show=\"true\">ReadCanCollect</item>\n    </visibility>\n\n  </extension>"
            }
          ],
          "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core/studio.extensions.easyshare",
          "name": "studio.extensions.easyshare",
          "requirements": [
            "org.nuxeo.runtime.started"
          ],
          "resolutionOrder": 982,
          "services": [],
          "startOrder": 803,
          "version": "10.10-HF29",
          "xmlFileContent": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<component name=\"studio.extensions.easyshare\" version=\"1.0.0\">\n  <require>org.nuxeo.runtime.started</require>\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"schema\">\n    <schema name=\"easysharefolder\" prefix=\"eshare\" src=\"data/schemas/easysharefolder.xsd\"/>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.core.schema.TypeService\" point=\"doctype\">\n    <doctype name=\"EasyShareFolder\" extends=\"Folder\">\n      <facet name=\"Collection\"/>\n      <facet name=\"NotCollectionMember\"/>\n      <schema name=\"dublincore\"/>\n      <schema name=\"common\"/>\n      <schema name=\"easysharefolder\"/>\n      <schema name=\"uid\"/>\n    </doctype>\n    <doctype name=\"Folder\" append=\"true\">\n      <subtypes>\n        <type>EasyShareFolder</type>\n      </subtypes>\n    </doctype>\n    <doctype name=\"Workspace\" append=\"true\">\n      <subtypes>\n        <type>EasyShareFolder</type>\n      </subtypes>\n    </doctype>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.core.lifecycle.LifeCycleService\" point=\"types\">\n    <types>\n      <type name=\"EasyShareFolder\">default</type>\n    </types>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.platform.types.TypeService\" point=\"types\">\n    <type id=\"EasyShareFolder\">\n      <label>EasyShareFolder</label>\n      <category>Collaborative</category>\n      <icon>/img/easyshare.png</icon>\n      <bigIcon>/img/easyshare_100.png</bigIcon>\n      <description>EasyShareFolder.description</description>\n      <default-view>view_documents</default-view>\n    </type>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\" point=\"actions\">\n    <action id=\"TAB_CONTENT\">\n      <filter-id>denyForEasyShareFolder</filter-id>\n    </action>\n    <action id=\"TAB_VIEW\">\n      <filter-id>denyForEasyShareFolder</filter-id>\n    </action>\n    <action id=\"TAB_RELATIONS\">\n      <filter-id>denyForEasyShareFolder</filter-id>\n    </action>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\" point=\"notifications\">\n    <notification name=\"easyShareDownload\" channel=\"email\"\n                  enabled=\"true\" availableIn=\"Workspace\" autoSubscribed=\"true\"\n                  template=\"easyShareDownload\" subject=\"EasyShare download notification\"\n                  subjectTemplate=\"easyShareDownloadSubject\">\n      <event name=\"easyShareDownload\"/>\n    </notification>\n    <notification name=\"easyShareExpired\" channel=\"email\"\n                  enabled=\"true\" availableIn=\"Workspace\" autoSubscribed=\"true\"\n                  template=\"easyShareExpired\"\n                  subject=\"EasyShare expired notification\"\n                  subjectTemplate=\"easyShareExpiredSubject\">\n      <event name=\"easyShareExpired\"/>\n    </notification>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.platform.ec.notification.service.NotificationService\" point=\"templates\">\n    <template name=\"easyShareDownload\" src=\"templates/easyShareDownload.ftl\"/>\n    <template name=\"easyShareExpired\" src=\"templates/easyShareExpired.ftl\"/>\n    <template name=\"easyShareDownloadSubject\" src=\"templates/easyShareDownloadSubject.ftl\"/>\n    <template name=\"easyShareExpiredSubject\" src=\"templates/easyShareExpiredSubject.ftl\"/>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.core.operation.OperationServiceComponent\" point=\"chains\">\n    <chain id=\"addToAShareDocument\">\n      <operation id=\"Seam.GetCurrentDocument\"/>\n      <operation id=\"Context.SetInputAsVar\">\n        <param type=\"string\" name=\"name\">shareDocument</param>\n      </operation>\n      <operation id=\"Context.SetVar\">\n        <param type=\"string\" name=\"name\">shareDocumentPath</param>\n        <param type=\"object\" name=\"value\">expr:Document.path</param>\n      </operation>\n      <operation id=\"Seam.FetchFromWorklist\"/>\n      <operation id=\"CreateProxyLive\">\n        <param type=\"string\" name=\"Destination Path\">expr:shareDocumentPath</param>\n      </operation>\n      <operation id=\"Context.RestoreDocumentInput\">\n        <param type=\"string\" name=\"name\">shareDocument</param>\n      </operation>\n      <operation id=\"Audit.Log\">\n        <param type=\"string\" name=\"event\">Documents added to the share</param>\n        <param type=\"string\" name=\"category\">EasyShareFolderCategory</param>\n        <param type=\"string\" name=\"comment\">expr:Some documents were added to the share folder @{Document[\"dc:title\"]}</param>\n      </operation>\n      <operation id=\"Seam.Refresh\"/>\n      <operation id=\"Seam.AddInfoMessage\">\n        <param type=\"string\" name=\"message\">Added</param>\n      </operation>\n    </chain>\n    <chain id=\"navToParent\">\n      <operation id=\"Context.FetchDocument\"/>\n      <operation id=\"Document.GetParent\"/>\n      <operation id=\"Seam.NavigateTo\"/>\n    </chain>\n  </extension>\n  <extension target=\"org.nuxeo.ecm.platform.actions.ActionService\" point=\"filters\">\n    <filter id=\"create\" append=\"true\">\n      <rule grant=\"true\">\n        <permission>AddChildren</permission>\n        <type>EasyShareFolder</type>\n        <condition>!document.isImmutable()</condition>\n        <condition>#{typeManager.getAllowedSubTypes(document.getType(), document).size() &gt; 0}</condition>\n      </rule>\n    </filter>\n    <filter id=\"denyForEasyShareFolder\">\n      <rule grant=\"false\">\n        <type>EasyShareFolder</type>\n      </rule>\n    </filter>\n\n  </extension>\n  <extension target=\"org.nuxeo.ecm.core.security.SecurityService\"\n             point=\"permissionsVisibility\">\n\n    <visibility type=\"EasyShareFolder\">\n      <item show=\"true\" order=\"20\">ReadCanCollect</item>\n    </visibility>\n\n  </extension>\n</component>\n",
          "xmlFileName": "/OSGI-INF/extensions.xml",
          "xmlPureComponent": true
        }
      ],
      "fileName": "nuxeo-easyshare-core-10.10-HF29.jar",
      "groupId": "org.nuxeo.ecm",
      "hierarchyPath": "/grp:org.nuxeo.ecm/nuxeo-easyshare-core",
      "id": "nuxeo-easyshare-core",
      "location": "",
      "manifest": "Manifest-Version: 1.0\r\nArchiver-Version: Plexus Archiver\r\nCreated-By: Apache Maven\r\nBuilt-By: jenkins\r\nBuild-Jdk: 1.8.0_222\r\nBundle-ManifestVersion: 2\r\nBundle-Version: 1.0.0\r\nNuxeo-WebModule: org.nuxeo.ecm.webengine.app.WebEngineModule;name=easy\r\n share;package=org/nuxeo/easyshare\r\nBundle-Vendor: Nuxeo\r\nBundle-ActivationPolicy: lazy\r\nBundle-ClassPath: .\r\nBundle-Name: nuxeo-easyshare-core\r\nNuxeo-Component: OSGI-INF/extensions.xml, OSGI-INF/easyshare-contrib.xml\r\nBundle-SymbolicName: nuxeo-easyshare-core\r\nBundle-RequiredExecutionEnvironment: JavaSE-1.7\r\n\r\n",
      "maxResolutionOrder": 982,
      "minResolutionOrder": 192,
      "packages": [
        "easyshare",
        "nuxeo-10.10-HF29"
      ],
      "parentReadme": {
        "blobProviderId": "default",
        "content": "\n#EasyShare\n\n## About EasyShare\nThe EasyShare package is an addon for the Nuxeo platform to enable sharing files from the repository with external users not requiring a login. You can specify a set of files to be accessed by a specific unique URL which allows anonymous download of either files within the share or proxies from anywhere else in your repository through a special folder listing page. You can also set an expiration date for sharing availability and track all downloads and get notifications.\n\nThis project is an on-going project, supported by Nuxeo\n\n## Deploying\nEasyShare is available as a package add-on [from the Nuxeo Marketplace] https://connect.nuxeo.com/nuxeo/site/marketplace/package/easyshare\n\n## Resources\n### Documentation\nThe documentation for EasyShare is available in our Documentation Center: http://doc.nuxeo.com/x/rooZAQ\n\n### Following Project QA Status\n\n[![Build Status](https://qa.nuxeo.org/jenkins/buildStatus/icon?job=addons_nuxeo-easyshare-master)](https://qa.nuxeo.org/jenkins/job/addons_nuxeo-easyshare-master/)\n\n### Reporting Issues\nYou can follow the developments in the Nuxeo Platform project of our JIRA bug tracker, which includes an EasyShare component:\nhttps://jira.nuxeo.com/browse/NXP/component/14003\n\nYou can report issues on: http://answers.nuxeo.com\n\n## About Nuxeo\nNuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Netflix, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.\n",
        "digest": "8348c059f1deecffbe4b8bc0ce482018",
        "encoding": "UTF-8",
        "length": 1986,
        "mimeType": "text/plain",
        "name": "README.md"
      },
      "requirements": [],
      "version": "10.10-HF29"
    }
  ],
  "creationDate": 1664793571025,
  "key": "Nuxeo Platform LTS 2019-10.10",
  "name": "Nuxeo Platform LTS 2019",
  "operations": [
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Chain",
      "contributingComponent": "studio.extensions.easyshare",
      "hierarchyPath": "/op:addToAShareDocument",
      "label": "addToAShareDocument",
      "name": "addToAShareDocument",
      "operationClass": "org.nuxeo.ecm.automation.core.impl.OperationChainCompiler.CompiledChainImpl",
      "params": [],
      "signature": [
        "void",
        "document"
      ],
      "since": "",
      "url": "addToAShareDocument",
      "version": "10.10"
    },
    {
      "@type": "NXOperation",
      "aliases": [],
      "category": "Chain",
      "contributingComponent": "studio.extensions.easyshare",
      "hierarchyPath": "/op:navToParent",
      "label": "navToParent",
      "name": "navToParent",
      "operationClass": "org.nuxeo.ecm.automation.core.impl.OperationChainCompiler.CompiledChainImpl",
      "params": [],
      "signature": [
        "document",
        "document",
        "documents",
        "documents"
      ],
      "since": "",
      "url": "navToParent",
      "version": "10.10"
    }
  ],
  "packages": [
    {
      "@type": "NXPackage",
      "bundles": [
        "nuxeo-easyshare-core",
        "org.nuxeo.web.jsf.easyshare",
        "org.nuxeo.web.ui.easyshare"
      ],
      "conflicts": [],
      "dependencies": [],
      "hierarchyPath": "/easyshare-1.5.3",
      "id": "easyshare-1.5.3",
      "name": "easyshare",
      "optionalDependencies": [
        "nuxeo-jsf-ui",
        "nuxeo-web-ui"
      ],
      "packageType": "addon",
      "title": "EasyShare",
      "version": "1.5.3"
    },
    {
      "@type": "NXPackage",
      "bundles": [
        "org.nuxeo.ecm.automation.server",
        "org.nuxeo.ecm.core.api",
        "org.nuxeo.ecm.platform.el",
        "org.nuxeo.ecm.core.io",
        "org.nuxeo.ecm.core.storage.mongodb",
        "org.nuxeo.diff.content",
        "nuxeo-easyshare-core",
        "org.nuxeo.launcher.commons",
        "org.nuxeo.ecm.platform.audit",
        "org.nuxeo.ecm.platform.commandline.executor",
        "org.nuxeo.ecm.directory",
        "org.nuxeo.ecm.platform.lang.ext",
        "org.nuxeo.ecm.platform.routing.core",
        "org.nuxeo.runtime.stream",
        "org.nuxeo.web.ui"
      ],
      "conflicts": [],
      "dependencies": [
        "nuxeo-10.10-HF28:1.0.0"
      ],
      "hierarchyPath": "/nuxeo-10.10-HF29-1.0.0",
      "id": "nuxeo-10.10-HF29-1.0.0",
      "name": "nuxeo-10.10-HF29",
      "optionalDependencies": [],
      "packageType": "hotfix",
      "title": "Nuxeo 10.10-HF29",
      "version": "1.0.0"
    }
  ],
  "pluginSnapshots": {},
  "releaseDate": 1547942400000,
  "version": "10.10"
}